/**
 * 自定义公共组件
 */

layui.define(['table', 'view', 'admin'], function(exports){

  var $ = layui.jquery
      ,table = layui.table
      ,view = layui.view
      ,admin = layui.admin;

  var flying = {
    //表格初始化
    table: function (options) {
      table.render({
        elem: options.elem
        , url: options.url //数据接口
        , method: 'post'
        , where: options.where
        , toolbar: options.toolbar ? options.toolbar : 'true'
        , defaultToolbar: options.defaultToolbar ? options.defaultToolbar : ['filter']
        , cols: [
          options.cols
        ]
        , page: options.page ? options.page : true
        , limit: 10
        , limits: [5, 10, 15, 20, 25, 30, 50, 100]
        , request: {
          pageName: 'pageNum' // 页码的参数名称，默认：page
          , limitName: 'pageSize' //每页数据量的参数名，默认：limit
        }
        , response: {
          statusCode: '00000' // 重新规定成功的状态码为 00000，table 组件默认为 0
        }
        // 将原始数据解析成 table 组件所规定的数据格式
        , parseData: function (res) {
          return {
            "code": res.code, //解析接口状态
            "msg": res.msg, //解析提示文本
            "count": res.total, //解析数据长度
            "data": res.data //解析数据列表
          };
        }
        // , height: 'full-220'
        , done: function (res, curr, count) {
          //传入参数 得到当前渲染的数据，当前页码，数据总量

          if (res.code == '10017' || res.code == '10018') {
            layer.msg(res.msg, {icon: 2, time: 1200, shade: [0.3, '#000', true]}, function(){
              view.exit();
            });
          }
        }
        , error: function (obj, msg) {
          console.log(obj);
          console.log(msg);
        }
        , text: {
          none: '暂无相关数据' //默认：无数据。注：该属性为 layui 2.2.5 开始新增
        }
      });
    }

    , org_xmSelect: function (xmSelect, options) {

    }
    //组织机构的xmSelect对象
    , load_org_xmSelect: function (obj, orgId) {
      admin.req({
        url: '/organization/getOrganizationSelectList',
        type: 'post',
        done: function (res) {
          obj.update({
            data: res.data,
            autoRow: true,
          });
          //异步远程加载数据，需要重新设置
          obj.changeExpandedKeys(true);
          //用于回显的
          if (orgId) {
            obj.setValue([orgId]);
          }
        }
      });
    }
    , load_post_xmSelect: function (obj, roleId) {
      admin.req({
        url: '/position/getPositionSelectList',
        type: 'post',
        done: function (res) {
          obj.update({
            data: res.data,
            autoRow: true,
          });
          //用于回显的
          if (roleId) {
            obj.setValue(roleId);
          }
        }
      });
    }
  }

  exports('flying', flying);
})